package com.sxjh.config;

import cn.hutool.cache.Cache;
import cn.hutool.cache.CacheUtil;
import cn.hutool.core.util.IdUtil;
import com.sxjh.common.Constant;
import com.sxjh.entity.ExcelEntity;

public class ExcelCacheConfig {

  // 设置缓存对象，和有效时间
  private static Cache<String, ExcelEntity> cache = CacheUtil.newTimedCache(Constant.SECOND * 5);

  private ExcelCacheConfig(){}

  // 获取请求参数
  public static ExcelEntity getParam(String uuid) {
    return cache.get(uuid);
  }

  /**
   * 设置请求参数
   * @param data 保存的请求参数
   * @param type Excel类型
   */
  public static String setParam(Object data, ExcelEntity.Type type) {
    String uuid = IdUtil.simpleUUID();
    ExcelEntity entity = new ExcelEntity();
    entity.setId(uuid);
    entity.setType(type);
    entity.setData(data);
    entity.setThreadNumber(Thread.currentThread().getId());
    cache.put(uuid, entity);
    return uuid;
  }

}
